<?php
namespace Admin\Controller;
use User\Api\UserApi;


class MemberController extends AdminController {
	/**
	 * 管理员信息
	 * 
	 * 		获取页面参数查询管理员信息。
	 */
    public function index(){
        $nickname       		=   I('nickname');
        $map['status']  		=   array('in','0,1');//（-1：已删除，0：禁用，1：正常）
        $map['uid|nickname']    =   array('like', '%'.(string)$nickname.'%');
        $memberList				=	$this->lists('Member', $map);
        $this->assign('_list', $memberList);
        Cookie('__forward__',$_SERVER['REQUEST_URI']);
        $this->display();
    }
    
	/**
	 * 新建管理员
	 * @param string $username		用户名
	 * @param string $password		登陆密码
	 * @param string $repassword	重复密码
	 * @param string $schoolid		学校id
	 * 
	 * 		获取页面参数，调用UserApi的方法注册用户，新建管理员。
	 * 
	 * 		查询学校列表显示页面。
	 */
	public function add($username = '', $password = '', $repassword = '', $schoolid = ''){
		if(IS_POST){
			$memberModel=M('Member');
			/* 检测密码 */
			if($password != $repassword){
				$this->error('密码和重复密码不一致！');
			}
			/* 调用注册接口注册用户 */
			$User   =   new UserApi;
			$uid    =   $User->register($username, $password);
			$school= M('school')->where("id=".$schoolid)->field('schoolname,school_short_name')->find();
			if(0 < $uid){ //注册成功
				$member = array(
					'uid' => $uid,
					'nickname' => $username,
					'status' => 1,
					'schoolid'=>$schoolid,
					'schoolname'=>$school['schoolname'],
					'school_short_name'=>$school['school_short_name']
				);
				if(!$memberModel->add($member)){
					$this->error($memberModel->getError().'管理员添加失败！');
				} else {
					$this->success('管理员添加成功！',Cookie('__forward__'));
				}
			} else { //注册失败，显示错误信息
				switch ($uid) {
					case -1:  $error = '用户名长度必须在16个字符以内！'; break;
					case -2:  $error = '用户名被禁止注册！'; break;
					case -3:  $error = '用户名被占用！'; break;
					default:  $error = '未知错误';
				}
				$this->error($error);
			}
		} else {
			$schoolModel   	=   M('school');
			$map['status']  =   array('egt',0);
			$schoolList=$schoolModel->where($map)->select();
			$this->assign('_list', $schoolList);
			$this->display();
		}
	}
	
	/**
	 * 修改状态
	 * @param string $method	传入的修改状态命令
	 *		forbiduser	禁用用户
	 *		resumeuser	启用用户
	 *		deleteuser	删除用户
	 *
	 *		调用UserController现有方法。
	 */
    public function changeStatus($method=null){
    	$UserC  =   new UserController();
    	$UserC->changeStatus($method);
    }
    
    /**
     * 重置密码
     * @param string $id	需要重置密码的用户id
     * 
     * 		调用加密方法获取密文，修改数据。
     */
 	public function resetPassword($id=''){
 		if(!resetPwd($id)){
 			$this->error('重置密码失败！');
 		} else {
 			$this->success('重置密码（123456）成功！',Cookie('__forward__'));
 		}
 	}
}